// pages/index/index.js
import { translate } from '../../utils/api.js'
const app = getApp()


Page({

  /**
   * 页面的初始数据
   */
  data: {
    query:'',
    hideClearIcon:true,
    result:[],
    curLang:{},
    history:[]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if(options.query) {
      this.setData({ query: options.query })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if (this.data.curLang.lang !== app.globalData.curLang.lang) {
      this.setData({ curLang: app.globalData.curLang })
      this.onConfirm()
    }
    this.setData({history:wx.getStorageSync('history')})
  },

  onTapItem:function(e){
    this.setData({'query':e.currentTarget.dataset.query})
    this.onConfirm()
    this.setData({'hideClearIcon':false})
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
   /**
   * x是否显示
   */
  onInput: function (e) {
    this.setData({'query':e.detail.value})
    if(this.data.query.length>0){
      this.setData({'hideClearIcon':false})
    }else{
      this.setData({'hideClearIcon':true})
    }
  },

  /**
   * 内容清除
   */
  onTapClose: function () {
    this.setData({'query':'',result:[], 'hideClearIcon':true})
  },

  /**
   * 翻译
   */
  onConfirm: function () {
    if(!this.data.query) return
    translate(this.data.query,{from:'auto', to:this.data.curLang.lang}).then(res=>{
      this.setData({'result':res.trans_result})

      let history = wx.getStorageSync('history')||[]
      history.unshift({ query: this.data.query, result: res.trans_result[0].dst})
      history.length = history.length > 10 ? 10 : history.length
      wx.setStorageSync('history', history)
      this.setData({history:wx.getStorageSync('history')})
    })
  }
})